#pragma once

#include "seat.h"
#include <wlr/types/wlr_keyboard.h>

struct Keyboard {
    struct Input base;
    struct wlr_keyboard *wlr_keyboard;
    bool is_virtual;
    struct wl_listener modifier;
    struct wl_listener key;
    /* key repeat for compositor keybinds */
    uint32_t keybind_repeat_keycode;
    int32_t keybind_repeat_rate;
    struct wl_event_source *keybind_repeat;
};

// cursor_init(seat);
// keyboard_group_init(seat);
void keyboard_setup_handlers(struct Keyboard *keyboard);
void keyboard_set_numlock(struct wlr_keyboard *keyboard);
void keyboard_cancel_keybind_repeat(struct Keyboard *keyboard);
